package com.xbts.system.domain.dto;

import com.huaweicloud.sdk.ecs.v2.model.PrePaidServer;
import lombok.Data;

import java.math.BigDecimal;

/**
 * @Author llk
 * @Date 2023/8/2 11:03
 */
@Data
public class PrePaidServerDTO extends PrePaidServer {

    private String regionId; // 区域id

    private BigDecimal originalPrice; // 原价

//    @JsonIgnore
//    public CnOrderItem getCnOrderItem(){
//        CnOrderItem cnOrderItem = new CnOrderItem();
//        cnOrderItem.setSubscriptionNum(this.getCount()); // 购买数量
//        cnOrderItem.setFlavor(this.getFlavorRef()); // 规格
//        cnOrderItem.setCloudserverName(this.getName()); // 云服务器名称
//
//        PrePaidServerEip eip = this.getPublicip().getEip();
//        cnOrderItem.setBandwidthSpec(eip.getIptype()); // 带宽类型
//        cnOrderItem.setBandwidthSize(eip.getBandwidth().getSize()); // 带宽大小
//        cnOrderItem.setRootVolumeSize(this.getRootVolume().getSize()); // 系统盘大小
//        cnOrderItem.setRootVolumeType(this.getRootVolume().getVolumetype().getValue()); // 系统盘类型
//
//        List<PrePaidServerDataVolume> dataVolumes = this.getDataVolumes();
//        List<CnDataVolume> cnDataVolumes = new ArrayList<>(dataVolumes.size());
//        for (PrePaidServerDataVolume dataVolume : dataVolumes) {
//            CnDataVolume cnDataVolume = new CnDataVolume();
//            cnDataVolume.setDataVolumeSize(dataVolume.getSize()); // 数据盘大小
//            cnDataVolume.setDataVolumeType(dataVolume.getVolumetype().getValue()); // 数据盘类型
//            cnDataVolumes.add(cnDataVolume);
//        }
//        cnOrderItem.setDataVolumes(cnDataVolumes); // 数据盘
//
//        cnOrderItem.setRegionId(this.getRegionId()); // 区域id
//
//        PrePaidServerExtendParam extendParam = this.getExtendparam();
//        cnOrderItem.setPeriodType(extendParam.getPeriodType().getValue()); // 计费类型
//        cnOrderItem.setPeriodNum(extendParam.getPeriodNum()); // 计费时长
//        cnOrderItem.setImageId(this.getImageRef()); // 镜像id
//        cnOrderItem.setOriginalPrice(this.getOriginalPrice());
//        return cnOrderItem;
//    }
}
